[qemu] Fix ia64 after removal of ia64_intrinsic.h.
authorChristian Limpach <Christian.Limpach@xensource.com>
Fri, 11 May 2007 09:06:19 +0000 (10:06 +0100)
committerChristian Limpach <Christian.Limpach@xensource.com>
Fri, 11 May 2007 09:06:19 +0000 (10:06 +0100)
From: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
tools/ioemu/exec-all.h
tools/ioemu/target-i386-dm/exec-dm.c

index d78b8ed7702c00ec20817d40caf4121489076bba..f6804b1a0abc36ad0eee93d434a3e778ead3101d 100644 (file)
@@ -357,7 +357,6 @@ extern CPUWriteMemoryFunc *io_mem_write[IO_MEM_NB_ENTRIES][4];
 extern CPUReadMemoryFunc *io_mem_read[IO_MEM_NB_ENTRIES][4];
 extern void *io_mem_opaque[IO_MEM_NB_ENTRIES];
 
-#ifndef CONFIG_DM
 #ifdef __powerpc__
 static inline int testandset (int *p)
 {
@@ -481,7 +480,6 @@ static inline int testandset (int *p)
     return __sync_lock_test_and_set (p, 1);
 }
 #endif
-#endif /* !CONFIG_DM */
 
 typedef int spinlock_t;
 
index 4f56a2d71566b140e1d64201abd93022775c92a1..69525a97419863ca8db42bc1df30d1cdabc26898 100644 (file)
@@ -360,6 +360,11 @@ CPUReadMemoryFunc **cpu_get_io_memory_read(int io_index)
 }
 
 #ifdef __ia64__
+
+#define __ia64_fc(addr)        asm volatile ("fc %0" :: "r"(addr) : "memory")
+#define ia64_sync_i()  asm volatile (";; sync.i" ::: "memory")
+#define ia64_srlz_i()  asm volatile (";; srlz.i ;;" ::: "memory")
+
 /* IA64 has seperate I/D cache, with coherence maintained by DMA controller.
  * So to emulate right behavior that guest OS is assumed, we need to flush
  * I/D cache here.